Large companies are rapidly moving toward shared environments, comprising cloud models, where applications reside in virtual machines (“VMs”) of operating systems and in application stacks that can have resources added or removed on demand, instantiated, quiesced, and re-instantiated on other peer hardware. These types of solutions provide flexibility and can optimize individual devices for maximum utilization and return-on-investment (ROI) compared to fixed hardware allocation.
Licensing terms for applications have traditionally been determined at a central processing unit (CPU) level, with the number of CPUs being considered a scalar value to compare the amount of effort the software can produce. For example, a four-way server, which is a single server with four CPUs, is considered twice as powerful as a two-way server, which is a single server with two CPUs. Such is often considered the case notwithstanding the CPUs of the two-way server may be three times as fast CPUs for the four-way server. As can be seen, this approach can be inaccurate and arbitrary, but is a heavily used model. Further, many software vendors do not acknowledge the virtual image of a VM and a physical device for the purposes of licensing software to a client company. As mentioned, CPUs can be added to or removed from a VM from time to time, or the VM can be relocated/migrated to another physical device. The introduction of a cloud solution (shared solution, farm solution) can increase this problem many orders of magnitude and can result in communication system license management issues.